package com.dts.common.core.domain;

import java.io.Serializable;

/**
 * APP接口响应类
 * 返回格式: {"success": true, "rows": {...}}
 *
 * @author dts
 */
public class AppResponse<T> implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 是否成功 */
    private Boolean success;

    /** 返回对象 */
    private T rows;

    /**
     * 初始化一个新创建的 AppResponse 对象
     */
    public AppResponse()
    {
    }

    /**
     * 初始化一个新创建的 AppResponse 对象
     *
     * @param success 是否成功
     * @param rows 返回对象
     */
    public AppResponse(Boolean success, T rows)
    {
        this.success = success;
        this.rows = rows;
    }

    /**
     * 返回成功消息
     *
     * @param rows 返回对象
     * @return 成功消息
     */
    public static <T> AppResponse<T> success(T rows)
    {
        return new AppResponse<>(true, rows);
    }

    /**
     * 返回失败消息
     *
     * @param rows 返回对象
     * @return 失败消息
     */
    public static <T> AppResponse<T> error(T rows)
    {
        return new AppResponse<>(false, rows);
    }

    public Boolean getSuccess()
    {
        return success;
    }

    public void setSuccess(Boolean success)
    {
        this.success = success;
    }

    public T getRows()
    {
        return rows;
    }

    public void setRows(T rows)
    {
        this.rows = rows;
    }
}
